package com.qf.oop;

import java.util.Random;

/**
 * 创建一个子类：战士， 独有的属性，怒气值。独有的方法，英勇打击，（攻击力=力量的上下百分之20*2，消耗20怒气）
 */
public class Berserker extends Hero {
    private int rage; //怒气值

    /**
     * 英勇打击
     *
     * @return 返回造成伤害 double
     */
    public double heroicStrike() {
        if (rage >= 20) {
            rage -= 20;
            Random random = new Random();
            double r = (double) random.nextInt(20) / 100 + 1;

            System.out.println("发动一次牛逼的攻击,攻击力为:" + (this.power * r * 2));

            return this.power * r * 2;
        } else {
            return -1;
        }
    }

    /**
     * 查看人物所有属性
     */
    @Override
    public void printValue() {
        super.printValue();
        System.out.print(" 怒气值:" + rage);
    }

    /**
     * 构造方法
     */
    public Berserker() {
        this("Berserker",20,5,20,100);
    }

    public Berserker(int rage) {
        this.rage = rage;
    }

    public Berserker(String name, int power, int intelligence, int dex, int rage) {
        super(name, power, intelligence, dex);
        this.rage = rage;
    }

    /**
     * get和set方法
     * @return
     */
    public int getRage() {
        return rage;
    }

    public void setRage(int rage) {
        this.rage = rage;
    }
}
